package com.hibase.core.mq.annotation;

import com.hibase.core.mq.enums.SendStrategy;
import org.springframework.core.annotation.AliasFor;

import java.lang.annotation.*;


/**
 * 消息队列提供者注解
 */
@Documented
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.METHOD)
public @interface HibaseQueueProvider {

    /**
     * 队列名称 和queueName二选一
     * @return
     */
    @AliasFor("queueName")
    String value() default "";

    /**
     * 队列名称 和value二选一
     * @return
     */
    @AliasFor("value")
    String queueName() default "";

    /**
     * 发送策略，默认同步
     * @return
     */
    SendStrategy strategy() default SendStrategy.SYNC;
}
